package com.dgshanger.sanhxiaofeisc.mvp.contract;

import com.dgshanger.sanhxiaofeisc.entity.InvoiceEntity;
import com.xx.baseuilibrary.mvp.BaseMvpView;
import com.xx.baseutilslibrary.network.rx.RxHttpObserver;

/**
 * InvoiceAssistantContract
 * 沉迷学习不能自拔
 * Describe：
 * Created by 雷小星🍀 on 2018/5/3 18:41.
 */

public interface InvoiceAssistantContract {
    interface Model {
        /**
         * 保存发票信息
         */
        void myInvStore(String invoice_header,
                        String invoice_company_name,
                        String invoice_base_account,
                        String invoice_bank_name,
                        String invoice_tax_number,
                        String invoice_register_number,
                        String invoice_mobile,
                        String invoice_address, RxHttpObserver<Object> httpObserver);

        /**
         * 发票助手
         */
        void myInv(RxHttpObserver<InvoiceEntity> httpObserver);
    }

    interface View extends BaseMvpView {

        /**
         * 设置预设发票信息
         *
         * @param entity 预设发票信息
         */
        void setInvoiceEntity(InvoiceEntity entity);

        /**
         * 获取个人抬头
         */
        String getInvoiceHeader();

        /**
         * 获取公司户名
         */
        String getInvoiceCompanyName();

        /**
         * 获取基本户账号
         */
        String getInvoiceBaseAccount();

        /**
         * 获取开户行
         */
        String getInvoiceBankName();

        /**
         * 获取税务登记证号
         */
        String getInvoiceTaxNumber();

        /**
         * 获取营业执照注册号
         */
        String getInvoiceRegisterNumber();

        /**
         * 获取电话
         */
        String getInvoiceMobile();

        /**
         * 获取登记地址
         */
        String getInvoiceAddress();
    }

    interface Presenter {
        /**
         * 保存发票信息
         */
        void myInvStore();

        /**
         * 发票助手
         */
        void myInv();
    }
}
